<?php
session_start();
require_once 'database.php';
require_once 'common/navigation.php';

// 检查是否已登录
if (!isset($_SESSION['user_id'])) {
    echo "未登录";
    exit();
}

$user_id = $_SESSION['user_id'];
echo "<h3>调试用户角色信息</h3>";
echo "<p>用户ID: " . htmlspecialchars($user_id) . "</p>";

// 获取用户角色
$user_roles = getUserRoles($user_id);
echo "<p>用户角色: ";
if (empty($user_roles)) {
    echo "无角色";
} else {
    echo implode(', ', array_map('htmlspecialchars', $user_roles));
}
echo "</p>";

// 检查是否有考试项目管理员角色
if (in_array('考试项目管理员', $user_roles)) {
    echo "<p style='color: green;'>✓ 具有考试项目管理员权限</p>";
} else {
    echo "<p style='color: red;'>✗ 不具有考试项目管理员权限</p>";
}

// 直接查询数据库中的角色
echo "<h4>数据库中的角色记录:</h4>";
try {
    $stmt = $conn->prepare("SELECT role, assigned_at FROM user_roles WHERE user_id = ?");
    $stmt->bind_param("s", $user_id);
    $stmt->execute();
    $result = $stmt->get_result();
    
    if ($result->num_rows > 0) {
        echo "<ul>";
        while ($row = $result->fetch_assoc()) {
            echo "<li>" . htmlspecialchars($row['role']) . " (分配时间: " . htmlspecialchars($row['assigned_at']) . ")</li>";
        }
        echo "</ul>";
    } else {
        echo "<p>数据库中没有找到该用户的角色记录</p>";
    }
    $stmt->close();
} catch (Exception $e) {
    echo "<p style='color: red;'>查询错误: " . htmlspecialchars($e->getMessage()) . "</p>";
}
?>